package com.shensi.api.pay.pojo;

import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.LocalTime;
import java.util.Date;


@Getter
@Setter
public class ReductionActivity
{

    private Long activityId;

    /**
     * 随机立减预算
     */
    private Double budget;

    /**
     * 活动名称
     */
    private String activityName;

    /**
     * 活动用途 CSP-消费 RCH-充值 LABEl-标签
     */
    private String activityUse;

    /**
     * 活动立减 RFA-按固定金额 LOR-按固定数量 AAL-每升立减
     */
    private String activityType;

    /**
     * 活动方式 FAD-定额立减 PAR-百分比立减 RDD-随机立减
     */
    private String activityMode;

    /**
     * 活动针对的是全部油品还是部分油品
     * 1-部分 0-全部
     */
    private Long oilPartOrAll;

    /**
     * 是否是全部车主 all-全部 part-部分
     */
    private String memberCondition;

    /**
     * 会员等级
     */
    private String memberLevel;

    private String memberTags;

    /**
     * 支付方式
     */
    private String paymentMethod;

    /**
     * 活动开始时间
     */
    private Date startDate;

    /**
     * 活动截止时间
     */
    private Date endDate;

    private Date currentDate;

    /**
     * 最大参与次数
     */
    private Long maxCount;

    /**
     * 活动规则
     * 1-使用本活动时，用户可用优惠劵
     * 2-使用本活动时，用户不可用优惠券
     */
    private String activityRule;

    /**
     * 是否开启防作弊
     * 1-开启,同一ID一个自然天只能使用一次
     * 0-自定义次数,根据countOfDay判断
     */
    private String antiCheating;

    /**
     * 防作弊自定义次数,单日最大次数
     */
    private Long countOfDay;

    /**
     * 生效时段  all-全部时段  wm-按照周和月选择
     */
    private String timeMode;

    /**
     * 活动每月几号生效
     * 数据示例：2，3，4
     */
    private String days;

    /**
     * 活动每周几生效
     */
    private String weeks;

    private String week;
    private String month;


    private ReductionRules reductionRule;

    /**
     * 电子卡标识   0全部，1进微信，2电子卡
     */
    private String cardFlag;

    private Long createUser;

    private Date createTime;

    private Long deleteUser;

    private Date deleteTime;

    private Long modifyUser;

    private Date modifyTime;

    private Long enterpriseId;

    private String activeStatus;

    private String deleteStatus;

    /**
     * 实付金额上限门槛
     */
    private BigDecimal amtUpperLimit;

    /**
     * 超级会员标识
     * 仅作中间变量，没有业务意义，不展示
     */
    private String superUser;

    private String customerLabelPhone;

    /**
     * 周开始时间
     */
    private LocalTime startTimeOfWeek;
    /**
     * 周结束时间
     */
    private LocalTime endTimeOfWeek;
    /**
     * 月开始时间
     */
    private LocalTime startTimeOfMonth;
    /**
     * 月结束时间
     */
    private LocalTime endTimeOfMonth;

    /**
     * 活动是否启用，0-停用，1-启用
     */
    private String activityEnabled;

    /**
     * 用户类别，new-新用户，old-老用户
     */
    private String memberCategory;

    //时间段生效类型 按每天 each\按所有天 entire
    private String weekTimeRangeType;
    private String monthTimeRangeType;

    public static final String TIMERANGEVALIDITYTYPE_EACH="each";
    public static final String TIMERANGEVALIDITYTYPE_ENTIRE="entire";
}
